<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>js内置Array对象</title>
	</head>
	<body>
		<script type="text/javascript">
			/* 属性
				constructor 所建立对象的函数参考
				prototype   能够为对象加入的属性和方法
				index		对于正则表达式匹配创建的数组，字符串中匹配的从零开始的索引。
				input		对于正则表达式匹配创建的数组，反映匹配正则表达式的原始字符串。
				length		获取数组元素的个数,即最大下标加1*/
				
				
			/* 方法
				concat(array1,arrayn)	将两个或两个以上的数组值连接起来,合并后返回结果
				join(string) 			将数组中元素合并为字符串,string为分隔符.如省略参数则直接合并,不再分隔
				pop()      				移除数组中的最后一个元素并返回该元素
				push(value) 			在数组的末尾加上一个或多个元素,并且返回新的数组长度值
				reverse()    			颠倒数组中元素的顺序,反向排列
				shift()     			移除数组中的第一个元素并返回该元素
				slice(start, deleteCount, [item1[, item2[,...[,itemN]]]]) 返从一个数组中移除一个或多个元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素
				sort(compare Function) 	在未指定排序号的情况下,按照元素的字母顺序排列,如果不是字符串类型则转换成字符串再排序,返回排序后的数组
				splice()     			为数组删除并添加新的元素
				toSource()    			显示对象的源代码
				toString()    			将数组所有元素返回一个字符串,其间用逗号分隔
				unshift(value)			为数组的开始部分加上一个或多个元素,并且返回该数组的新长度
				valueOf()    			返回数组对象的原始值*/
			
			/* join() 返回合并的字符串
				arrayObject.join(separator)console.log(arr.sort());
				separator(可选)指定要使用的分隔符，如果省略该参数，则默认为逗号来分隔*/	
				var arr = new Array(3);
				arr[0] = 3;
				arr[1] = 1;
				arr[2] = 5;
				console.log(arr.join(';'));//结果为: 3;1;5
			
			/* sort() 对数组的元素进行排序
				arrayObject.sort(sortby)
				sortby(可选)规定排序顺序，必须是函数
				如果调用该方法时没有使用参数，将按字母顺序对数组中的元素进行排序，说得更精确点，是按照字符编码的顺序进行排序。要实现这一点，首先应把数组的元素都转换成字符串（如有必要），以便进行比较。
				如果想按照其他标准进行排序，就需要提供比较函数，该函数要比较两个值，然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b，其返回值如下：
				若 a 小于 b，在排序后的数组中 a 应该出现在 b 之前，则返回一个小于 0 的值。
				若 a 等于 b，则返回 0。
				若 a 大于 b，则返回一个大于 0 的值。*/	
				console.log(arr.sort());//结果为: [1,3,5]
				function sortNumber(a,b){
					return b-a;
				}
				console.log(arr.sort(sortNumber));//结果为: [5,3,1]
			
			
		</script>
	</body>
</html>
